<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>SSE Example</title>
</head>
<body>
<h1>Server-Sent Events Example</h1>

<textarea id="sseOutput" style="width: 500px; height: 300px; background-color: gainsboro;"></textarea>

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
    // 创建 Axios 实例
    const http = axios.create({
        baseURL: 'http://localhost:8080/',  // 替换成你的服务器地址
        timeout: 10000000,
        responseType: 'stream',
        onDownloadProgress: function (progressEvent) {
            // 处理原生进度事件
            const sseData = progressEvent.event.currentTarget.responseText;
            console.log("sseData = " + sseData);
            appendSSEData(sseData);  // 调用函数将数据追加到文本框中
        },
    });

    // 发送 SSE 请求
    http.get('/sse')
        .then(function (response) {
            // 处理成功情况
            console.log(response);
        })
        .catch(function (error) {
            // 处理错误情况
            console.error('Error fetching SSE:{}\n', error);
        });

    // 将 SSE 数据追加到 textarea 中
    function appendSSEData(data) {
        const sseOutput = document.getElementById('sseOutput');
        sseOutput.value += data + '\n';  // 每次追加数据并换行显示
    }
</script>

</body>
</html>
